Week 2 - Core Computer Skills for Programmers

Week 2 will dive into technical aspects and practical exercises essential for starting to code.

You will find that the reading material this week is more technical than Week 1 and covers fewer pages, allowing you to study and understand the content more effectively.

  • Environments and Tools - We explore programming environments to understand how they provide the necessary context and tools for code development and execution. Key components of programmer environments that we take a look at include the operating system, IDE's (Integrated development environments) programming languages, runtime environments, and development tools, such as packages.

  • Terminal and Shell Basics - Understanding the terminal and shells is essential for interacting with your computer at a command-line level. Learn about the terminal, which provides the command interface, and the shell, which executes commands.

  • File systems, files and hierarchy - We explore files and directories to understand how data is organized and managed on a computer, which is crucial for efficient navigation and data handling. You will learn how directories structure files hierarchically and how to access them via the terminal. By mastering file systems, paths, permissions, and operations (read, write, execute, delete), you'll acquire essential skills that form the foundation for programming.

  • Version control and Git - We delve into version control and Git to understand how to manage and track changes to your code. Understanding these concepts and technology will enable you to keep a detailed history of your project and collaborate effectively. You’ll learn how to use Git via the command line. By mastering concepts such as repositories, commits, branches, and merging, you'll develop crucial skills for managing your codebase, handle changes, and will help in managing your projects efficiently.

❗TAKE TIME to understand the material❗
They are foundational for programming - this is information you need in order to learn how to code. The topics covered this week are the MOST IMPORTANT in the entire course. These concepts are NOT explained during the fall semester. As you start your courses, you'll be expected to gradually grasp these topics throughout the semester. Unfortunately, many beginners find these fundamentals challenging at first and may struggle with them if they don't have an underlying understanding of the concepts or practical experience with these technical elements. Students often struggle with these first steps and may fall behind, even before writing a single line of code.

📚 MATERIALS

⬇️ DOWNLOADS & ACCOUNTS

To follow the tutorials and complete the exercises this week you need to:

  • Download Git
  • Make an account on GitHub
  • Download Git bash
  • Download VS Code